'\" t
.TH "SYSTEMD\-VERITYSETUP\-GENERATOR" "8" "" "systemd 254" "systemd-veritysetup-generator"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
systemd-veritysetup-generator \- Unit generator for verity protected block devices
.SH "SYNOPSIS"
.PP
/lib/systemd/system\-generators/systemd\-veritysetup\-generator
.SH "DESCRIPTION"
.PP
\fBsystemd\-veritysetup\-generator\fR
is a generator that translates kernel command line options configuring verity protected block devices into native systemd units early at boot and when configuration of the system manager is reloaded\&. This will create
\fBsystemd-veritysetup@.service\fR(8)
units as necessary\&.
.PP
Currently, only two verity devices may be set up with this generator, backing the root and
/usr
file systems of the OS\&.
.PP
\fBsystemd\-veritysetup\-generator\fR
implements
\fBsystemd.generator\fR(7)\&.
.SH "KERNEL COMMAND LINE"
.PP
\fBsystemd\-veritysetup\-generator\fR
understands the following kernel command line parameters:
.PP
\fIsystemd\&.verity=\fR, \fIrd\&.systemd\&.verity=\fR
.RS 4
Takes a boolean argument\&. Defaults to
"yes"\&. If
"no", disables the generator entirely\&.
\fIrd\&.systemd\&.verity=\fR
is honored only by the initrd while
\fIsystemd\&.verity=\fR
is honored by both the host system and the initrd\&.
.RE
.PP
\fIroothash=\fR
.RS 4
Takes a root hash value for the root file system\&. Expects a hash value formatted in hexadecimal characters of the appropriate length (i\&.e\&. most likely 256 bit/64 characters, or longer)\&. If not specified via
\fIsystemd\&.verity_root_data=\fR
and
\fIsystemd\&.verity_root_hash=\fR, the hash and data devices to use are automatically derived from the specified hash value\&. Specifically, the data partition device is looked for under a GPT partition UUID derived from the first 128\-bit of the root hash, the hash partition device is looked for under a GPT partition UUID derived from the last 128\-bit of the root hash\&. Hence it is usually sufficient to specify the root hash to boot from a verity protected root file system, as device paths are automatically determined from it \(em as long as the partition table is properly set up\&.
.RE
.PP
\fIsystemd\&.verity_root_data=\fR, \fIsystemd\&.verity_root_hash=\fR
.RS 4
These two settings take block device paths as arguments and may be used to explicitly configure the data partition and hash partition to use for setting up the verity protection for the root file system\&. If not specified, these paths are automatically derived from the
\fIroothash=\fR
argument (see above)\&.
.RE
.PP
\fIsystemd\&.verity_root_options=\fR
.RS 4
Takes a comma\-separated list of dm\-verity options\&. Expects the following options
\fBsuperblock=\fR\fB\fIBOOLEAN\fR\fR,
\fBformat=\fR\fB\fINUMBER\fR\fR,
\fBdata\-block\-size=\fR\fB\fIBYTES\fR\fR,
\fBhash\-block\-size=\fR\fB\fIBYTES\fR\fR,
\fBdata\-blocks=\fR\fB\fIBLOCKS\fR\fR,
\fBhash\-offset=\fR\fB\fIBYTES\fR\fR,
\fBsalt=\fR\fB\fIHEX\fR\fR,
\fBuuid=\fR\fB\fIUUID\fR\fR,
\fBignore\-corruption\fR,
\fBrestart\-on\-corruption\fR,
\fBignore\-zero\-blocks\fR,
\fBcheck\-at\-most\-once\fR,
\fBpanic\-on\-corruption\fR,
\fBhash=\fR\fB\fIHASH\fR\fR,
\fBfec\-device=\fR\fB\fIPATH\fR\fR,
\fBfec\-offset=\fR\fB\fIBYTES\fR\fR,
\fBfec\-roots=\fR\fB\fINUM\fR\fR
and
\fBroot\-hash\-signature=\fR\fB\fIPATH\fR\fR\fB|base64:\fR\fB\fIHEX\fR\fR\&. See
\fBveritysetup\fR(8)
for more details\&.
.RE
.PP
\fIusrhash=\fR, \fIsystemd\&.verity_usr_data=\fR, \fIsystemd\&.verity_usr_hash=\fR, \fIsystemd\&.verity_usr_options=\fR
.RS 4
Equivalent to their counterparts for the root file system as described above, but apply to the
/usr/
file system instead\&.
.RE
.SH "SEE ALSO"
.PP
\fBsystemd\fR(1),
\fBsystemd-veritysetup@.service\fR(8),
\fBveritysetup\fR(8),
\fBsystemd-fstab-generator\fR(8)
